This invention relates generally to integrated systems on a chip and more particularly to a method and system for configuring integrated systems on a chip.
Semiconductor devices on a chip, also referred to as integrated circuits, often utilize volatile memory. The state of volatile memory is lost when power is terminated. An example of a volatile memory is static random access memory (SRAM). Use of such memory may include storing configuration data. One example of configuration data is redundancy configuration designation data, which enable or disable extra rows and columns of volatile memory. Additional examples of the use of volatile memory for configuration purposes include the use of registers associated with analog circuits on an integrated circuit. For example, configuration bits are used to set gain parameters of an analog-to-digital converter to control the converter. Furthermore, trim bits may be provided to control operation of an analog circuit.
Because volatile memory xe2x80x9cforgetsxe2x80x9d the stored information when power is terminated to the memory, a method is needed to store in this memory configuration information for an integrated circuit utilizing a volatile memory. This problem has been addressed by utilizing laser fuses for configuration purposes. In this process, a laser fuse is blown, which writes a xe2x80x9conexe2x80x9d to the appropriate place in the volatile memory, configuring the integrated circuit. One problem with this type of configuration is that an extra mask step is required to fabricate the laser fuse into the integrated circuit. Laser fuses are also used to implement automated die identification for some devices.
Non-volatile memory does not lose its state when power is terminated to the memory. An example type of non-volatile memory is a flash memory. Flash memory implementation has utilized flash bits, or in other words, data stored in the non-volatile flash memory to program redundancy control circuits and implement die identification.
Accordingly, a need has arisen for an improved method and system for configuring integrated systems on a chip. The present invention provides a method and system for configuring integrated systems on a chip that address shortcomings of prior systems and methods. According to one embodiment of the invention, a method for configuring an integrated circuit chip having a non-volatile memory having a plurality of registers and a volatile memory, includes:
storing a plurality of configuration data in the non-volatile memory and providing power to the volatile memory. After providing power to the volatile memory, the configuration data are serially loaded into the registers of the volatile memory to configure the semiconductor device.
According to another embodiment of the invention, an integrated circuit device comprises a non-volatile memory for storing configuration data when the integrated circuit device is turned off and a volatile memory having a plurality of sequential registers. The integrated circuit device also comprises a state machine operable to control transfer of the configuration data to the volatile memory and a configuration interface connecting the flash memory to the state machine. The integrated circuit device also includes a data line connecting the state machine to at least one of the registers for transferring a portion of the configuration data from the state machine to the register and a clock line for transmitting a clock signal to cause a portion of the configuration data to be transferred from a first one of the plurality of registers to an adjacent register in the sequence.
Embodiments of the invention provide numerous technical advantages. For example, in one embodiment of the invention, configuration of an integrated circuit utilizing volatile memory, such as SRAM, is enabled without the use of laser fuses. In addition to avoiding the expense associated with laser fuses, it is not practical to configure an integrated circuit through the use of laser fuses in some implementations. Therefore, the teachings of the invention allow configuration in systems where traditional methods of configuration are not practical.
Embodiments of the invention may be utilized in suitable processes that have the capability of creating arrays of modifiable (one-time or many-time) non-volatile storage elements. For example, storage elements include flash, eeprom, laser fuses, and electrical fuses. Furthermore, according to the teachings of the invention, some of the types of non-volatile memory (e.g. flash, eeprom, and electrical fuses) allow redundancy mapping or analog trim capability at final task, enabling maximum yield. This is so because the configuration elements can be modified even in a package. This is desirable when packaging may cause yield blocks, which could be repaired with redundancy or trimming. Furthermore, SRAM and analog configuration do not require custom, process-specific, configuration bit capability.
Other technical advantages are readily apparent to one skilled in the art from the following figures, descriptions, and claims.